1. Field of the Invention
The present invention relates to flip-flops, and more particularly, to high-speed flip-flops and complex gates using the same.
2. Description of the Related Art
Flip-flops are general-purpose data storage elements used in digital electronic circuits. The flip-flops are important in the design of digital circuits because the flip-flops are clocked storage elements that enable a sequential and stable logic design. In logic designs, flip-flops are used to store logic states, parameters, or digital control signals.
For example, contemporary microprocessors typically include numbers of flip-flops. To meet the operation requirements of a high performance microprocessor, flip-flop setup & hold time and a clock-to-output time should be reduced in order to provide for a maximum logic clocking speed. The flip-flops are also required to provide for short data response time by reducing the data-to-clock time.
FIG. 1 is a schematic diagram of a conventional flip-flop 100. Referring to FIG. 1, the flip-flop 100 generates a signal at a node N125 and an output signal QN according to a logic level of input data D received in response to a clock signal CK. The input data D is connected to gates of a PMOS transistor 108 and an NMOS transistor 110. The clock signal CK is connected to a gate of an NMOS transistor 112. An output of a cascade of three inverters 102, 104, and 106, which receive the clock signal CLK, is connected to a gate of an NMOS transistor 114. Transistors 108, 110, 112, and 114 are serially connected between a power supply voltage VDD and a ground voltage VSS.
A node N109 between the PMOS transistor 108 and the NMOS transistor 110 maintains a constant logic level using PMOS transistors 116, 120, and 118. The PMOS transistor 116 is connected to a power supply voltage VDD and gated to the clock signal CK, the PMOS transistor 120 is gated to the output of the inverter 106, and the PMOS transistor 118 is connected to the PMOS transistors 116 and 120 and gated to a node N125. An NMOS transistor 122 is gated to the node N125, is connected between a node N111 between the NMOS transistors 110 and 112 and a ground voltage GND through the NMOS transistor 114, and determines a logic level of the node N111.
A PMOS transistor 124 and NMOS transistors 126, 128, and 130 are serially connected between a power supply voltage VDD and a ground voltage VSS. Gates of the transistors 124 and 126 are connected to the node N109, a gate of the transistor 128 is connected to the clock signal CK, and a gate of the transistor 130 is connected to the output of the inverter 106. A signal at the node N125, which is between the transistors 124 and 126, passes through a first inverter 140 and is output as an output signal QN. The node N125 is connected to an inverter 138, and a logic level of the node N125 is determined and maintained at a constant level using a PMOS transistor 132 and an NMOS transistor 134, which respond to an output of the inverter 138, and an NMOS transistor 136, which is gated to the node N109.
Operation of the flip-flop 100 is illustrated in the timing diagram of FIG. 2. Referring to FIG. 2, the clock signal CK is periodically input to the flip-flop 100. As the clock CK pulses, the data D transitions from a logic low level to a logic high level and then from the logic high level to a logic low level, as shown. At time t2, that is, when the clock signal CK is at a rising edge, the data D is transitioned from a logic low level to a logic high level. In response to the transition of the data D, the node N109, the node N125, and the output signal QN are transitioned from a logic high level to a logic low level, from a logic low level to a logic high level, and from a logic high level to a logic low level, respectively. At time t6, that is, when the clock signal CK is at a rising edge, the data D is transitioned from the logic high level to the logic low level. In response to the transition of the data D, the node N109, the node N125, and the output signal QN are transitioned from the logic low level to the logic high level, from the logic high level to the logic low level, and from the logic low level to the logic high level, respectively. In other words, the signal at the node N125 is generated according to a logic level of the data D, and the output signal QN is generated according to an inverted logic level of the data D.
Essential nodes that determine a speed at which the flip-flop 100 operates, for example, the data-to-output time of the flip flop, are the nodes N109 and N125, which are intermediate nodes. Particularly, times required to transit logic high levels of the nodes N109 and N125 to logic low levels are important to determine the speed of the flip-flop 100. For example, the node N109 is connected to the ground voltage VSS via the transistors 110, 112, and 114, and the node N125 is connected to the ground voltage VSS via the transistors 126, 128, and 130. Hence, transistors 110, 112, 114, 126, 128, and 130 are loads on the nodes, which lead to an increase the transition times (switching times) of the nodes N109 and N125.